7 research outputs found
Dynamically detecting and tolerating IF-Condition Data Races
An IF-Condition Invariance Violation (ICIV) occurs when, after a thread has computed the control expression of an IF statement and while it is executing the THEN or ELSE clauses, another thread updates variables in the IF’s control expression. An ICIV can be easily detected, and is likely to be a sign of a concurrency bug in the code. Typically, the ICIV is caused by a data race, which we call IF-Condition Data Race (ICR). In this paper, we analyze the data races reported in the bug databases of popular software systems and show that ICRs occur relatively often. Then, we present two techniques to handle ICRs dynamically. They rely on simple code transformations and, in one case, additional hardware help. One of them (SW-IF) detects the races, while the other (HW-IF) detects and prevents them. We evaluate SW-IF and HW-IF using a variety of applica-tions. We show that these new techniques are effective at finding new data race bugs and run with low overhead. Specifically, HW-IF finds 5 new (unreported) race bugs and SW-IF finds 3 of them. In addition, 8-threaded executions of SPLASH-2 codes show that, on average, SW-IF adds 2 % execution overhead, while HW-IF adds less than 1%. 1
Synthesizing Programs with Continuous Optimization
Automatic software generation based on some specification is known as program
synthesis. Most existing approaches formulate program synthesis as a search
problem with discrete parameters. In this paper, we present a novel formulation
of program synthesis as a continuous optimization problem and use a
state-of-the-art evolutionary approach, known as Covariance Matrix Adaptation
Evolution Strategy to solve the problem. We then propose a mapping scheme to
convert the continuous formulation into actual programs. We compare our system,
called GENESYS, with several recent program synthesis techniques (in both
discrete and continuous domains) and show that GENESYS synthesizes more
programs within a fixed time budget than those existing schemes. For example,
for programs of length 10, GENESYS synthesizes 28% more programs than those
existing schemes within the same time budget
Learning Fitness Functions for Machine Programming
The problem of automatic software generation is known as Machine Programming.
In this work, we propose a framework based on genetic algorithms to solve this
problem. Although genetic algorithms have been used successfully for many
problems, one criticism is that hand-crafting its fitness function, the test
that aims to effectively guide its evolution, can be notably challenging. Our
framework presents a novel approach to learn the fitness function using neural
networks to predict values of ideal fitness functions. We also augment the
evolutionary process with a minimally intrusive search heuristic. This
heuristic improves the framework's ability to discover correct programs from
ones that are approximately correct and does so with negligible computational
overhead. We compare our approach with several state-of-the-art program
synthesis methods and demonstrate that it finds more correct programs with
fewer candidate program generations
Large Language Models Based Automatic Synthesis of Software Specifications
Software configurations play a crucial role in determining the behavior of
software systems. In order to ensure safe and error-free operation, it is
necessary to identify the correct configuration, along with their valid bounds
and rules, which are commonly referred to as software specifications. As
software systems grow in complexity and scale, the number of configurations and
associated specifications required to ensure the correct operation can become
large and prohibitively difficult to manipulate manually. Due to the fast pace
of software development, it is often the case that correct software
specifications are not thoroughly checked or validated within the software
itself. Rather, they are frequently discussed and documented in a variety of
external sources, including software manuals, code comments, and online
discussion forums. Therefore, it is hard for the system administrator to know
the correct specifications of configurations due to the lack of clarity,
organization, and a centralized unified source to look at. To address this
challenge, we propose SpecSyn a framework that leverages a state-of-the-art
large language model to automatically synthesize software specifications from
natural language sources. Our approach formulates software specification
synthesis as a sequence-to-sequence learning problem and investigates the
extraction of specifications from large contextual texts. This is the first
work that uses a large language model for end-to-end specification synthesis
from natural language texts. Empirical results demonstrate that our system
outperforms prior the state-of-the-art specification synthesis tool by 21% in
terms of F1 score and can find specifications from single as well as multiple
sentences
Genomic surveillance uncovers a pandemic clonal lineage of the wheat blast fungus
Wheat, one of the most important food crops, is threatened by a blast disease pandemic. Here, we show that a clonal lineage of the wheat blast fungus recently spread to Asia and Africa following two independent introductions from South America. Through a combination of genome analyses and laboratory experiments, we show that the decade-old blast pandemic lineage can be controlled by the Rmg8 disease resistance gene and is sensitive to strobilurin fungicides. However, we also highlight the potential of the pandemic clone to evolve fungicide-insensitive variants and sexually recombine with African lineages. This underscores the urgent need for genomic surveillance to track and mitigate the spread of wheat blast outside of South America and to guide preemptive wheat breeding for blast resistance
Genomic surveillance uncovers a pandemic clonal lineage of the wheat blast fungus.
Wheat, one of the most important food crops, is threatened by a blast disease pandemic. Here, we show that a clonal lineage of the wheat blast fungus recently spread to Asia and Africa following two independent introductions from South America. Through a combination of genome analyses and laboratory experiments, we show that the decade-old blast pandemic lineage can be controlled by the Rmg8 disease resistance gene and is sensitive to strobilurin fungicides. However, we also highlight the potential of the pandemic clone to evolve fungicide-insensitive variants and sexually recombine with African lineages. This underscores the urgent need for genomic surveillance to track and mitigate the spread of wheat blast outside of South America and to guide preemptive wheat breeding for blast resistance